<html>
<head>
<title>unit tests coverage</title>
<link rel ="stylesheet" type="text/css" href="../../../../style.css" title="Style">
</head>
<body>
<span class="title">Coverage report</span>
<p>
  <table cellspacing="0" cellpadding="0" class="report">
  <tr class="report">
    <th class="report">&nbsp;</th>
    <th class="report">%line</th>
    <th class="report">%branch</th>
  </tr>
  <tr class="report">
    <td class="reportText"><span class="text">org.apache.torque.task.TorqueDataModelTask$TorqueFileResourceLoader</span></td>
    <td class="reportValue"><table class="percentGraph" cellpadding="0" cellspacing="0" align="right"><tr><td><span class="text">0%&nbsp;</span></td><td><table class="percentGraph" cellpadding="0" cellspacing="0"><tr><td class="percentCovered" width="0"></td><td class="percentUnCovered" width="100.0"></td></tr></table></td></tr></table></td>
    <td class="reportValue"><table class="percentGraph" cellpadding="0" cellspacing="0" align="right"><tr><td><span class="text">0%&nbsp;</span></td><td><table class="percentGraph" cellpadding="0" cellspacing="0"><tr><td class="percentCovered" width="0"></td><td class="percentUnCovered" width="100.0"></td></tr></table></td></tr></table></td>
  </tr>
  </table>
  <p>
  <table cellspacing="0" cellpadding="0" class="src">
    <tr>
      <td class="numLine">&nbsp;1</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">package</span> org.apache.torque.task;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;2</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;3</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">/*</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;4</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;5</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * or more contributor license agreements.  See the NOTICE file</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;6</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * distributed with this work for additional information</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;7</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * regarding copyright ownership.  The ASF licenses this file</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;8</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * to you under the Apache License, Version 2.0 (the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;9</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * "License"); you may not use this file except in compliance</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;10</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * with the License.  You may obtain a copy of the License at</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;11</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;12</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *   http://www.apache.org/licenses/LICENSE-2.0</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;13</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;14</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * Unless required by applicable law or agreed to in writing,</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;15</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * software distributed under the License is distributed on an</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;16</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;17</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * KIND, either express or implied.  See the License for the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;18</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * specific language governing permissions and limitations</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;19</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * under the License.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;20</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;21</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;22</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.ByteArrayInputStream;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;23</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.ByteArrayOutputStream;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;24</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.File;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;25</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.IOException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;26</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.InputStream;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;27</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.InputStreamReader;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;28</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.LineNumberReader;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;29</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.PrintStream;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;30</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.UnsupportedEncodingException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;31</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.Writer;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;32</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.ArrayList;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;33</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Date;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;34</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Hashtable;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;35</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Iterator;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;36</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.List;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;37</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Map;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;38</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;39</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.commons.lang.StringUtils;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;40</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.texen.Generator;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;41</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.texen.ant.TexenTask;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;42</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.tools.ant.BuildException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;43</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.tools.ant.DirectoryScanner;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;44</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.tools.ant.types.FileSet;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;45</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.torque.engine.EngineException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;46</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.torque.engine.database.model.Database;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;47</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.torque.engine.database.transform.XmlToAppData;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;48</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.velocity.VelocityContext;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;49</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.velocity.app.VelocityEngine;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;50</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.velocity.context.Context;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;51</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.velocity.exception.MethodInvocationException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;52</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.velocity.exception.ParseErrorException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;53</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.velocity.exception.ResourceNotFoundException;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;54</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;55</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> org.apache.velocity.runtime.resource.loader.FileResourceLoader;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;56</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;57</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;58</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * A base torque task that uses either a single XML schema</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;59</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * representing a data model, or a &#38;lt;fileset&#38;gt; of XML schemas.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;60</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * We are making the assumption that an XML schema representing</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;61</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * a data model contains tables for a &#60;strong&#62;single&#60;/strong&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;62</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * database.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;63</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;64</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * @author &#60;a href="mailto:jvanzyl@zenplex.com"&#62;Jason van Zyl&#60;/a&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;65</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> * @author &#60;a href="mailto:dlr@finemaltcoding.com"&#62;Daniel Rall&#60;/a&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;66</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;67</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> TorqueDataModelTask <span class="keyword">extends</span> TexenTask</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;68</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;{</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;69</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;70</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * XML that describes the database model, this is transformed</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;71</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * into the application model object.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;72</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;73</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> String xmlFile;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;74</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;75</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* Fileset of XML schemas which represent our data models. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;76</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> List filesets = <span class="keyword">new</span> ArrayList();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;77</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;78</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* Data models that we collect. One from each XML schema file. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;79</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> List dataModels = <span class="keyword">new</span> ArrayList();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;80</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;81</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* Velocity context which exposes our objects in the templates. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;82</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> Context context;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;83</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;84</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;85</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Map of data model name to database name.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;86</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Should probably stick to the convention of them being the same but</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;87</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * I know right now in a lot of cases they won't be.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;88</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;89</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> Hashtable dataModelDbMap;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;90</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;91</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;92</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Hashtable containing the names of all the databases</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;93</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * in our collection of schemas.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;94</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;95</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> Hashtable databaseNames;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;96</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;97</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">//!! This is probably a crappy idea having the sql file -&#62; db map</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;98</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">// here. I can't remember why I put it here at the moment ...</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;99</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">// maybe I was going to map something else. It can probably</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;100</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">// move into the SQL task.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;101</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;102</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;103</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Name of the properties file that maps an SQL file</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;104</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * to a particular database.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;105</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;106</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> String sqldbmap;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;107</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;108</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* The target database(s) we are generating SQL for. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;109</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> String targetDatabase;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;110</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;111</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">* Target Java package to place the generated files in. */</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;112</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> String targetPackage;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;113</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;114</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;115</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;116</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Set the sqldbmap.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;117</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;118</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param sqldbmap th db map</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;119</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;120</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setSqlDbMap(String sqldbmap)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;121</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;122</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">//!! Make all these references files not strings.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;123</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">this</span>.sqldbmap = getProject().resolveFile(sqldbmap).toString();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;124</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;125</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;126</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;127</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Get the sqldbmap.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;128</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;129</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return String sqldbmap.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;130</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;131</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> String getSqlDbMap()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;132</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;133</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">return</span> sqldbmap;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;134</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;135</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;136</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;137</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Return the data models that have been processed.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;138</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;139</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return List data models</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;140</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;141</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> List getDataModels()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;142</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;143</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">return</span> dataModels;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;144</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;145</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;146</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;147</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Return the data model to database name map.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;148</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;149</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return Hashtable data model name to database name map.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;150</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;151</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> Hashtable getDataModelDbMap()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;152</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;153</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">return</span> dataModelDbMap;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;154</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;155</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;156</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;157</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Get the xml schema describing the application model.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;158</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;159</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return  String xml schema file.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;160</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;161</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> String getXmlFile()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;162</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;163</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">return</span> xmlFile;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;164</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;165</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;166</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;167</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Set the xml schema describing the application model.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;168</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;169</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param xmlFile The new XmlFile value</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;170</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;171</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setXmlFile(String xmlFile)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;172</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;173</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">this</span>.xmlFile = getProject().resolveFile(xmlFile).toString();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;174</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;175</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;176</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;177</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Adds a set of xml schema files (nested fileset attribute).</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;178</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;179</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param set a Set of xml schema files</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;180</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;181</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> addFileset(FileSet set)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;182</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;183</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        filesets.add(set);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;184</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;185</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;186</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;187</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Get the current target database.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;188</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;189</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return String target database(s)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;190</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;191</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> String getTargetDatabase()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;192</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;193</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">return</span> targetDatabase;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;194</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;195</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;196</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;197</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Set the current target database. (e.g. mysql, oracle, ..)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;198</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;199</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param v target database(s)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;200</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;201</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setTargetDatabase(String v)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;202</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;203</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        targetDatabase = v;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;204</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;205</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;206</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;207</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Get the current target package.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;208</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;209</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return return target java package.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;210</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;211</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> String getTargetPackage()</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;212</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;213</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">return</span> targetPackage;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;214</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;215</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;216</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;217</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Set the current target package. This is where generated java classes will</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;218</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * live.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;219</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;220</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param v target java package.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;221</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;222</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setTargetPackage(String v)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;223</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;224</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        targetPackage = v;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;225</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;226</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;227</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;228</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Set up the initial context for generating the SQL from the XML schema.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;229</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;230</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return the context</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;231</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws Exception</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;232</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;233</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> Context initControlContext() throws Exception</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;234</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;235</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        XmlToAppData xmlParser;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;236</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;237</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">if</span> (xmlFile == <span class="keyword">null</span> &#38;&#38; filesets.isEmpty())</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;238</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;239</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> BuildException(<span class="string">"You must specify an XML schema or "</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;240</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    + <span class="string">"fileset of XML schemas!"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;241</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;242</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;243</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;244</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;245</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">if</span> (xmlFile != <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;246</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;247</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// Transform the XML database schema into</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;248</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// data model object.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;249</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                xmlParser = <span class="keyword">new</span> XmlToAppData(getTargetDatabase(),</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;250</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        getTargetPackage());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;251</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                Database ad = xmlParser.parseFile(xmlFile);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;252</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                ad.setFileName(grokName(xmlFile));</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;253</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                dataModels.add(ad);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;254</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;255</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;256</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;257</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// Deal with the filesets.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;258</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i &#60; filesets.size(); i++)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;259</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;260</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    FileSet fs = (FileSet) filesets.get(i);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;261</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    DirectoryScanner ds = fs.getDirectoryScanner(getProject());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;262</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    File srcDir = fs.getDir(getProject());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;263</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;264</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    String[] dataModelFiles = ds.getIncludedFiles();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;265</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;266</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// Make a transaction for each file</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;267</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="keyword">for</span> (<span class="keyword">int</span> j = 0; j &#60; dataModelFiles.length; j++)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;268</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;269</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        File f = <span class="keyword">new</span> File(srcDir, dataModelFiles[j]);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;270</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        xmlParser = <span class="keyword">new</span> XmlToAppData(getTargetDatabase(),</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;271</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                                getTargetPackage());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;272</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        Database ad = xmlParser.parseFile(f.toString());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;273</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        ad.setFileName(grokName(f.toString()));</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;274</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        dataModels.add(ad);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;275</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;276</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;277</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;278</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;279</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            Iterator i = dataModels.iterator();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;280</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            databaseNames = <span class="keyword">new</span> Hashtable();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;281</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            dataModelDbMap = <span class="keyword">new</span> Hashtable();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;282</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;283</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Different datamodels may state the same database</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;284</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// names, we just want the unique names of databases.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;285</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">while</span> (i.hasNext())</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;286</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;287</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                Database database = (Database) i.next();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;288</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                databaseNames.put(database.getName(), database.getName());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;289</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                dataModelDbMap.put(database.getFileName(), database.getName());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;290</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;291</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;292</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">catch</span> (EngineException ee)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;293</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;294</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> BuildException(ee);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;295</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;296</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;297</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        context = <span class="keyword">new</span> VelocityContext();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;298</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;299</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// Place our set of data models into the context along</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;300</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// with the names of the databases as a convenience for now.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;301</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        context.put(<span class="string">"dataModels"</span>, dataModels);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;302</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        context.put(<span class="string">"databaseNames"</span>, databaseNames);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;303</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        context.put(<span class="string">"targetDatabase"</span>, targetDatabase);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;304</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        context.put(<span class="string">"targetPackage"</span>, targetPackage);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;305</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;306</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">return</span> context;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;307</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;308</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;309</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;310</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Change type of "now" to java.util.Date</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;311</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;312</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @see org.apache.texen.ant.TexenTask#populateInitialContext(org.apache.velocity.context.Context)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;313</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;314</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> <span class="keyword">void</span> populateInitialContext(Context context) throws Exception</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;315</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;316</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">super</span>.populateInitialContext(context);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;317</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        context.put(<span class="string">"now"</span>, <span class="keyword">new</span> Date());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;318</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;319</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;320</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;321</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Gets a name to use for the application's data model.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;322</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;323</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param xmlFile The path to the XML file housing the data model.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;324</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return The name to use for the &#60;code&#62;AppData&#60;/code&#62;.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;325</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;326</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> String grokName(String xmlFile)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;327</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;328</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// This can't be set from the file name as it is an unreliable</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;329</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// method of naming the descriptor. Not everyone uses the same</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;330</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// method as I do in the TDK. jvz.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;331</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;332</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        String name = <span class="string">"data-model"</span>;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;333</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">int</span> i = xmlFile.lastIndexOf(System.getProperty(<span class="string">"file.separator"</span>));</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;334</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">if</span> (i != -1)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;335</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;336</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Creep forward to the start of the file name.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;337</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            i++;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;338</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;339</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">int</span> j = xmlFile.lastIndexOf('.');</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;340</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">if</span> (i &#60; j)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;341</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;342</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                name = xmlFile.substring(i, j);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;343</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;344</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;345</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;346</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// Weirdo</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;347</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                name = xmlFile.substring(i);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;348</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;349</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;350</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">return</span> name;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;351</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;352</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;353</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;354</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Override Texen's context properties to map the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;355</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * torque.xxx properties (including defaults set by the</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;356</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * org/apache/torque/defaults.properties) to just xxx.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;357</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;358</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;p&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;359</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Also, move xxx.yyy properties to xxxYyy as Velocity</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;360</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * doesn't like the xxx.yyy syntax.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;361</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * &#60;/p&#62;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;362</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;363</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param file the file to read the properties from</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;364</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;365</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> setContextProperties(String file)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;366</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;367</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">super</span>.setContextProperties(file);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;368</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;369</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// Map the torque.xxx elements from the env to the contextProperties</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;370</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        Hashtable env = <span class="keyword">super</span>.getProject().getProperties();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;371</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">for</span> (Iterator i = env.entrySet().iterator(); i.hasNext();)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;372</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;373</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            Map.Entry entry = (Map.Entry) i.next();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;374</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            String key = (String) entry.getKey();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;375</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">if</span> (key.startsWith(<span class="string">"torque."</span>))</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;376</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;377</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                String newKey = key.substring(<span class="string">"torque."</span>.length());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;378</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">int</span> j = newKey.indexOf(<span class="string">"."</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;379</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">while</span> (j != -1)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;380</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;381</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    newKey =</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;382</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        newKey.substring(0, j)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;383</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        +  StringUtils.capitalize(newKey.substring(j + 1));</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;384</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    j = newKey.indexOf(<span class="string">"."</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;385</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;386</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;387</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                contextProperties.setProperty(newKey, entry.getValue());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;388</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;389</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;390</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;391</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;392</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * This message fragment (telling users to consult the log or</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;393</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * invoke ant with the -debug flag) is appended to rethrown</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;394</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * exception messages.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;395</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;396</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">private</span> <span class="keyword">final</span> <span class="keyword">static</span> String ERR_MSG_FRAGMENT = </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;397</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="string">". For more information consult the velocity log, or invoke ant "</span> +</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;398</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="string">"with the -debug flag."</span>;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;399</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;400</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;401</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * This method creates an VelocityEngine instance, parses</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;402</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * every template and creates the corresponding output.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;403</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * </span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;404</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * Unfortunately the TextenTask.execute() method makes</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;405</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * everything for us but we just want to set our own</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;406</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * VelocityTemplateLoader. </span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;407</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * TODO: change once TEXEN-14 is resolved and out.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;408</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     *  </span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;409</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @see org.apache.texen.ant.TexenTask#execute()</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;410</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;411</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">void</span> execute() throws BuildException </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;412</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;413</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// Make sure the template path is set.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;414</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">if</span> (templatePath == <span class="keyword">null</span> &#38;&#38; useClasspath == false)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;415</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;416</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> BuildException(</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;417</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="string">"The template path needs to be defined if you are not using "</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;418</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + <span class="string">"the classpath for locating templates!"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;419</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;420</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;421</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// Make sure the control template is set.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;422</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">if</span> (controlTemplate == <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;423</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;424</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> BuildException(</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;425</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="string">"The control template needs to be defined!"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;426</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;427</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;428</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// Make sure the output directory is set.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;429</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">if</span> (outputDirectory == <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;430</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;431</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> BuildException(</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;432</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="string">"The output directory needs to be defined!"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;433</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;434</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;435</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">// Make sure there is an output file.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;436</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">if</span> (outputFile == <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;437</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;438</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> BuildException(<span class="string">"The output file needs to be defined!"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;439</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;440</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;441</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        VelocityEngine ve = <span class="keyword">new</span> VelocityEngine();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;442</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;443</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;444</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;445</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Setup the Velocity Runtime.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;446</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">if</span> (templatePath != <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;447</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;448</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                log(<span class="string">"Using templatePath: "</span> + templatePath, project.MSG_VERBOSE);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;449</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                ve.setProperty(<span class="string">"torque"</span> + VelocityEngine.FILE_RESOURCE_LOADER_PATH,</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;450</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        templatePath);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;451</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;452</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// TR: We need our own FileResourceLoader</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;453</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                ve.addProperty(VelocityEngine.RESOURCE_LOADER, <span class="string">"torquefile"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;454</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                ve.setProperty(<span class="string">"torquefile."</span> + VelocityEngine.RESOURCE_LOADER</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;455</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            + <span class="string">".instance"</span>,</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;456</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        <span class="keyword">new</span> TorqueFileResourceLoader(<span class="keyword">this</span>));</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;457</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;458</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;459</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">if</span> (useClasspath)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;460</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;461</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                log(<span class="string">"Using classpath"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;462</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="comment">// TR: We need our own ClasspathResourceLoader</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;463</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                ve.addProperty(VelocityEngine.RESOURCE_LOADER, <span class="string">"classpath"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;464</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;465</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                ve.setProperty(<span class="string">"classpath."</span> + VelocityEngine.RESOURCE_LOADER</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;466</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + <span class="string">".instance"</span>, <span class="keyword">new</span> TorqueClasspathResourceLoader(<span class="keyword">this</span>));</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;467</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;468</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                ve.setProperty(<span class="string">"classpath."</span> + VelocityEngine.RESOURCE_LOADER</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;469</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + <span class="string">".cache"</span>, <span class="string">"false"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;470</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;471</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                ve.setProperty(<span class="string">"classpath."</span> + VelocityEngine.RESOURCE_LOADER</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;472</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        + <span class="string">".modificationCheckInterval"</span>, <span class="string">"2"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;473</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;474</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;475</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            ve.init();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;476</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;477</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Create the text generator.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;478</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            Generator generator = Generator.getInstance();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;479</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            generator.setVelocityEngine(ve);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;480</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            generator.setOutputPath(outputDirectory);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;481</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            generator.setInputEncoding(inputEncoding);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;482</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            generator.setOutputEncoding(outputEncoding);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;483</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;484</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">if</span> (templatePath != <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;485</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;486</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                generator.setTemplatePath(templatePath);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;487</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;488</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;489</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Make sure the output directory exists, if it doesn't</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;490</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// then create it.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;491</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            File file = <span class="keyword">new</span> File(outputDirectory);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;492</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">if</span> (!file.exists())</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;493</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;494</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                file.mkdirs();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;495</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;496</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;497</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            String path = outputDirectory + File.separator + outputFile;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;498</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            log(<span class="string">"Generating to file "</span> + path, project.MSG_INFO);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;499</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            Writer writer = generator.getWriter(path, outputEncoding);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;500</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;501</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// The generator and the output path should</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;502</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// be placed in the init context here and</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;503</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// not in the generator class itself.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;504</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            Context c = initControlContext();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;505</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;506</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Everything in the generator class should be</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;507</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// pulled out and placed in here. What the generator</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;508</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// class does can probably be added to the Velocity</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;509</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// class and the generator class can probably</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;510</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// be removed all together.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;511</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            populateInitialContext(c);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;512</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;513</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// Feed all the options into the initial</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;514</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// control context so they are available</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;515</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// in the control/worker templates.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;516</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">if</span> (contextProperties != <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;517</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;518</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                Iterator i = contextProperties.getKeys();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;519</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;520</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">while</span> (i.hasNext())</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;521</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;522</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    String property = (String) i.next();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;523</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    String value = contextProperties.getString(property);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;524</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;525</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// Now lets quickly check to see if what</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;526</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// we have is numeric and try to put it</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;527</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="comment">// into the context as an Integer.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;528</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;529</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;530</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        c.put(property, <span class="keyword">new</span> Integer(value));</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;531</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    } <span class="keyword">catch</span> (NumberFormatException nfe)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;532</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;533</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        <span class="comment">// Now we will try to place the value into</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;534</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        <span class="comment">// the context as a boolean value if it</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;535</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        <span class="comment">// maps to a valid boolean value.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;536</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        String booleanString = contextProperties</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;537</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                                .testBoolean(value);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;538</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;539</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        <span class="keyword">if</span> (booleanString != <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;540</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;541</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            c.put(property, <span class="keyword">new</span> Boolean(booleanString));</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;542</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        } <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;543</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;544</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">// We are going to do something special</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;545</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">// for properties that have a "file.contents"</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;546</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">// suffix: for these properties will pull</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;547</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">// in the contents of the file and make</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;548</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">// them available in the context. So for</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;549</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">// a line like the following in a properties file:</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;550</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">//</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;551</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">// license.file.contents = license.txt</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;552</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">//</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;553</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">// We will pull in the contents of license.txt</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;554</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">// and make it available in the context as</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;555</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">// $license. This should make texen a little</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;556</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="comment">// more flexible.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;557</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            <span class="keyword">if</span> (property.endsWith(<span class="string">"file.contents"</span>))</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;558</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;559</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                                <span class="comment">// We need to turn the license file from</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;560</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                                <span class="comment">// relative to</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;561</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                                <span class="comment">// absolute, and let Ant help :)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;562</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                                value = org.apache.velocity.util.StringUtils</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;563</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                                        .fileContentsToString(project</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;564</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                                                .resolveFile(value)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;565</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                                                .getCanonicalPath());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;566</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;567</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                                property = property.substring(0, property</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;568</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                                        .indexOf(<span class="string">"file.contents"</span>) - 1);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;569</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;570</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;571</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                            c.put(property, value);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;572</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;573</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;574</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;575</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;576</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;577</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            writer.write(generator.parse(controlTemplate, c));</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;578</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            writer.flush();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;579</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            writer.close();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;580</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            generator.shutdown();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;581</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            cleanup();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;582</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        } </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;583</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">catch</span> (BuildException e)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;584</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;585</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">throw</span> e;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;586</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        } </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;587</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">catch</span> (MethodInvocationException e)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;588</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;589</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> BuildException(<span class="string">"Exception thrown by '"</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;590</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    + e.getReferenceName() + <span class="string">"."</span> + e.getMethodName() + <span class="string">"'"</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;591</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    + ERR_MSG_FRAGMENT, e.getWrappedThrowable());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;592</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        } </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;593</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">catch</span> (ParseErrorException e)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;594</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;595</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> BuildException(</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;596</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="string">"Velocity syntax error"</span> + ERR_MSG_FRAGMENT, e);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;597</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        } </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;598</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">catch</span> (ResourceNotFoundException e)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;599</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;600</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> BuildException(</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;601</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="string">"Resource not found"</span> + ERR_MSG_FRAGMENT, </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;602</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    e);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;603</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        } </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;604</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">catch</span> (Exception e)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;605</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;606</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">throw</span> <span class="keyword">new</span> BuildException(</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;607</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="string">"Generation failed"</span> + ERR_MSG_FRAGMENT, </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;608</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    e);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;609</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;610</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;611</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;612</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;613</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * This method filters the template and replaces some</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;614</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * unwanted characters. For example it removes leading</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;615</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * spaces in front of velocity commands and replaces</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;616</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * tabs with spaces to prevent bounces in different</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;617</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * code editors with different tab-width-setting.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;618</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * </span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;619</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @param resource the input stream to filter</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;620</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * </span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;621</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @return the filtered input stream.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;622</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * </span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;623</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * @throws IOException if creating, reading or writing to a stream fails.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;624</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;625</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">protected</span> InputStream filter(InputStream resource) throws IOException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;626</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;627</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        InputStreamReader streamReader;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;628</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">if</span> (inputEncoding != <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;629</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;630</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            streamReader = <span class="keyword">new</span> InputStreamReader(resource, inputEncoding);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;631</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;632</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;633</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;634</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            streamReader = <span class="keyword">new</span> InputStreamReader(resource);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;635</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;636</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        LineNumberReader lineNumberReader = <span class="keyword">new</span> LineNumberReader(streamReader);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;637</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        String line = <span class="keyword">null</span>;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;638</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        ByteArrayOutputStream baos = <span class="keyword">new</span> ByteArrayOutputStream();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;639</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        PrintStream ps = <span class="keyword">null</span>;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;640</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">if</span> (inputEncoding != <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;641</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;642</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            ps = <span class="keyword">new</span> PrintStream(baos, <span class="keyword">true</span>, inputEncoding);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;643</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;644</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">else</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;645</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;646</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            ps = <span class="keyword">new</span> PrintStream(baos, <span class="keyword">true</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;647</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;648</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;649</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">while</span> ((line = lineNumberReader.readLine()) != <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;650</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;651</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// remove leading spaces in front of velocity commands and comments</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;652</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            line = line.replaceAll(<span class="string">"^&#92;&#92;s*#"</span>, <span class="string">"#"</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;653</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="comment">// replace tabs with spaces to prevent bounces in editors</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;654</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            line = line.replaceAll(<span class="string">"\t"</span>, <span class="string">"    "</span>);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;655</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            ps.println(line);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;656</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;657</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        ps.flush();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;658</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        ps.close();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;659</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;660</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">return</span> <span class="keyword">new</span> ByteArrayInputStream(baos.toByteArray());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;661</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;662</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;663</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;664</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;665</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * A custom classpath resource loader which filters tabs and removes spaces</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;666</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * from lines with velocity commands. </span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;667</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;668</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">class</span> TorqueClasspathResourceLoader </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;669</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">extends</span> ClasspathResourceLoader</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;670</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;671</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;672</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         * The task in which this resource loader is used.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;673</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;674</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">private</span> TorqueDataModelTask task;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;675</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;676</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;677</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         * Constructor.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;678</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;679</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         * @param task the task in which this resource loader is used.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;680</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;681</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">public</span> TorqueClasspathResourceLoader(TorqueDataModelTask task)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;682</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;683</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">this</span>.task = task;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;684</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;685</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;686</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;687</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         * @see org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader#getResourceStream(java.lang.String)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;688</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;689</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">public</span> <span class="keyword">synchronized</span> InputStream getResourceStream(String name) </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;690</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                throws ResourceNotFoundException </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;691</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;692</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            InputStream source = <span class="keyword">null</span>;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;693</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">try</span> </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;694</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;695</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                source = <span class="keyword">super</span>.getResourceStream(name);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;696</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">return</span> task.filter(source);</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;697</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            } </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;698</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">catch</span> (IOException uee)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;699</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;700</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                task.log(uee.getMessage());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;701</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">throw</span> <span class="keyword">new</span> ResourceNotFoundException(uee.getMessage());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;702</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;703</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">finally</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;704</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;705</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                <span class="keyword">if</span> (source != <span class="keyword">null</span>)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;706</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;707</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;708</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;709</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        source.close();</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;710</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;711</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="keyword">catch</span> (IOException e)</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;712</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;713</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                        task.log(e.getMessage());</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;714</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;715</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;716</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;717</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;718</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;719</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;720</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;721</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * A custom file resource loader which filters tabs and removes spaces</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;722</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     * from lines with velocity commands. </span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;723</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">     */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;724</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">class</span> TorqueFileResourceLoader</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;725</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">extends</span> FileResourceLoader</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;726</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;727</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;728</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         * The task in which this resource loader is used.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;729</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;730</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">private</span> TorqueDataModelTask task;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;731</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;732</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;733</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         * Constructor.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;734</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         *</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;735</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         * @param task the task in which this resource loader is used.</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;736</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;737</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">public</span> TorqueFileResourceLoader(TorqueDataModelTask task)</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;738</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        {</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;739</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">this</span>.task = task;</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;740</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;        }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;741</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;742</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="comment">/*<span class="comment">*</span></span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;743</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         * @see org.apache.velocity.runtime.resource.loader.FileResourceLoader#getResourceStream(java.lang.String)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;744</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;<span class="comment">         */</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;745</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        <span class="keyword">public</span> <span class="keyword">synchronized</span> InputStream getResourceStream(</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;746</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                String name) </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;747</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                throws ResourceNotFoundException</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;748</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;749</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            InputStream source = <span class="keyword">null</span>;</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;750</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">try</span> </pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;751</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;752</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                source = <span class="keyword">super</span>.getResourceStream(name);</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;753</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">return</span> task.filter(source);</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;754</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            } </pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;755</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;            <span class="keyword">catch</span> (IOException uee)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;756</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;757</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                task.log(uee.getMessage());</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;758</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">throw</span> <span class="keyword">new</span> ResourceNotFoundException(uee.getMessage());</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;759</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;760</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            <span class="keyword">finally</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;761</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;762</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                <span class="keyword">if</span> (source != <span class="keyword">null</span>)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;763</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                {</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;764</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    <span class="keyword">try</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;765</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;766</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        source.close();</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;767</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    }</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;768</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    <span class="keyword">catch</span> (IOException e)</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;769</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                    {</pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;770</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                        task.log(e.getMessage());</span></pre></td>
    </tr>
    <tr>
      <td class="numLineCover">&nbsp;771</td>
      <td class="nbHitsUncovered">&nbsp;0</td>
      <td class="src"><pre class="src"><span class="srcUncovered">&nbsp;                    }</span></pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;772</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;                }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;773</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;            }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;774</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;        }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;775</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;    }</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;776</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;}</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;777</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
    <tr>
      <td class="numLine">&nbsp;778</td>
      <td class="nbHits">&nbsp;</td>
      <td class="src"><pre class="src">&nbsp;</pre></td>
    </tr>
  </table>
<p><table cellpadding="0" cellspacing="0" class="report">  <tr class="report">    <td class="reportText"><span class="text">    This report is generated by <a href="http://www.jcoverage.com">jcoverage</a>, <a href="http://maven.apache.org">Maven</a> and <a href="http://maven.apache.org/reference/plugins/jcoverage/">Maven JCoverage Plugin</a>.    </span></td>  </tr></table>
</body>
</html>
